collection framework
자바에서 필요한 자료구조(data structure)를 미리 구현하여 java.util 패키지에서 제공한다.
collection framework는 java에서 제공하는 data structure 이다.
collcetion framework는 Collection과 Map Interface 기반으로 이루어져 있다.
Collection은 하나의 자료를 모아서 관리하는 데 필요한 기능을 제공하고,
Map은 쌍으로 된 자료들을 관리하는 데 유용한 기능을 제공한다.
Collection Interface
List Interface: 순서가 있는 자료 관리, 중복 허용
Set Interface: 순서가 정해져 있지 않음, 중복을 허용하지 않음
Collection Interface의 대표 메서드
메서드 |
설명 |
boolean add(E e) |
Collection에 객체를 추가합니다. |
void clear() |
Collection의 모든 객체를 제거합니다. |
Iterator<E> iterator |
Collection을 순환할 반복자(Iterator)를 반환합니다. |
boolean remove(Object o) |
Collection에 매개변수에 해당하는 인스턴스가 존재한 제거합니다. |
int size() |
Collection에 있는 요소의 개수를 반환합니다. |
Map Interface
map interface 에는 key-value로 구성된 쌍으로 된 자료를 관리하는 메서드들이 선언되어 있다.
map은 기본적으로 검색용 자료 구조이다. 즉 어떤 key값을 알고 있을 때 value를 찾기 위한 자료 구조이다.
(key는 중복될 수 없다.)
메서드 |
설명 |
V put(K key, V value) |
key에 해당하는 value 값을 map에 넣습니다. |
V get(K key) |
key에 해당하는 value 값을 반환합니다. |
boolean isEmpty() |
map이 비었는지 여부를 반환합니다. |
boolean containsKey(Object key) |
map에 해당 key가 있는지 여부를 반환합니다. |
boolean continsValue(Objcet value) |
map에 해당 value가 있는지 여부를 반환합니다. |
Set keyset() |
key 집합을 Set로 반환합니다.(중복이 안 되므로 Set) |
Collection values() |
value를 Collection으로 반환합니다.(중복 무관) |
V remove(key) |
key가 있는 경우 삭제합니다. |
boolean remove(Object key,
Object value) |
key가 있는 경우 key에 해당하는 value가
매개변수와 일치할 때 삭제합니다. |
Member.java
package collection;
public class Member implements Comparable<Member>{
private int memberId;
private String memberName;
public Member(int memberId, String memberName) {
this.memberId=memberId;
this.memberName=memberName;
}
public int getMemberId() {
return memberId;
}
public void setMemberId(int memberId) {
this.memberId=memberId;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName=memberName;
}
@Override
public String toString() {
return memberName+"회원님의 아이디는 "+memberId+" 입니다.";
}
@Override
public int hashCode(){
return memberId;
}
@Override
public boolean equals(Object obj){
if(obj instanceof Member){
Member member=(Member) obj;
if(this.memberId==member.memberId)return true;
else return false;
}
return false;
}
@Override
public int compareTo(Member member){
return (this.memberId-member.memberId);
}
}
will use above member.java with other data structure